package com.dy.realtime.common.bean;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

/**
 * @projectName: MedicalTreatment
 * @package: com.dy.realtime.common.bean
 * @className: DwsDocRegisterBean
 * @author: DuanYu
 * @description: TODO
 * @date: 2025/3/16 19:11
 * @version: 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DwsDocRegisterBean {
    // 医生 ID
    String id;

    // 注册时间
    String registerTime;

    // 生日
    String birthday;

    // 就诊费用
    String consultationFee;

    // 性别编码：101.男 102.女
    String genderCode;

    // 专业编码
    String specialtyCode;

    // 职称编码
    String titleCode;

    // 所属医院
    String hospitalId;

    // 窗口起始时间
    String stt;

    // 窗口结束时间
    String edt;

    // 当前日期
    String curDate;

    // 注册医生数
    Long registerCount;

    public Long getTs() {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");
        // 解析字符串为 LocalDateTime 对象
        LocalDateTime localDateTime = LocalDateTime.parse(registerTime, formatter);
        // 将 LocalDateTime 转换为 ZonedDateTime，使用系统默认时区
        ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
        // 获取毫秒值
        long millis = zonedDateTime.toInstant().toEpochMilli();
        return millis;
    }
}
